1. Field of the Invention
The present invention relates to web security.
2. Related Art
The emergence and development of computer networks and protocols, including the World Wide Web (or simply “web”), has allowed many users to engage in a variety of transactions. Transactions over the web are often carried out between a browser and a web server. A user at a client device operates the browser. The browser (also called a client browser) is coupled over one or more networks, such as the Internet, to the web server. The web server in turn can be part of or coupled to another server that manages the transaction. These transactions can involve shopping, commerce, news, information, trade, registration, enrollment, entertainment, game play, or many other types of applications depending upon the entities involved. Such entities can be businesses, governments, organizations, individuals or others that wish to carry out transactions over the web with remote users.
To provide security, web transactions often require a user to input a credential, hereafter referred to as a web credential. Such a credential can be a password associated with the user that is used to authenticate the web transaction. The password can be a number of characters (alphanumeric or other types of characters or data). While users recall passwords in terms of characters, computers carrying out a web transaction often manipulate binary representations of the credentials in bits of data. Security strength of credentials against brute force and dictionary attacks is measured in terms of bits of information entropy or Shannon entropy, hereafter referred to simply as entropy. Credentials with high entropy provide high security; they are not vulnerable to brute force or dictionary attacks. Human memorizable passwords may have low entropy, around 22 bits of entropy. Users have difficulty remembering or managing web credentials with sufficiently high entropy to be secure. Accordingly, it is desirable in many web transactions to allow users to remember low entropy web credentials, despite the security weakness.
Phishing is an expensive type of fraud that causes users to give away their passwords to illegitimate web sites. A phisher operates a rogue website that spoofs a legitimate web site. The rogue web site is often set up to look nearly identical to the legitimate web site with similar logos, graphics, text or visual appearance. The rogue website is then operated to capture a user's personal information using social engineering attacks. Phishing can be viewed as a type of man in the middle attack in which the attacker is able to intercept certain communications by imitating a trusted party in a communication.
In a phishing attack, the phisher attempts to lure the victim to the rogue website. One way phishers operate is to launch a phishing campaign by spamming a large numbers of email messages sent to a large number of different users. Links to the rogue website are embedded in the email messages and the users are encouraged to select the link. Once a user selects the link, the user is then directed to the rogue website and may be misled into providing personal information. The phisher uses social engineering to incite the user to action, implying eminent account cancellation, credit proceedings, or even offering monetary incentives in exchange for personal information. Such personal information can include any type of information sought by the phisher, such as, credit card information, account numbers, user names, and passwords. A phisher can then try to exploit the personal information to gain access to financial accounts, impersonate a user, or cause other harm or damage.
Limited solutions have been proposed to defeat phishing. PwdHash [http://pwdhash.com] is a browser extension that performs domain hashing. A user password is converted to a domain-specific password. In particular, PwdHash appears to replace passwords with a one-way hash of the pair of data (password, domain-name). A phisher operating a spoof web page may only then see a hash of the password specific to the domain hosting the spoof page. However, among other things, the PwdHash approach does not produce a high entropy, cryptographically strong credential. The hash of PwdHash remains vulnerable to dictionary attacks, if the hash is captured by a phishing attacker.
PasswordMultiplier [http://www.cs.princeton.edu/˜jhalderm/projects/password/] is a browser extension that performs domain hashing and uses a technique called slow hashing. However, among other things, the PasswordMultiplier approach also does not produce a high entropy, cryptographically strong credential and remains vulnerable to dictionary attack, although the dictionary attack is more expensive than with traditional approaches to hashing.
What is needed are improved systems and methods for securing web-based transactions.